#version 310 es
#ifdef GL_EXT_shader_texture_lod
#extension GL_EXT_shader_texture_lod : enable
#endif

precision highp float;
precision highp int;
#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
#define UNITY_UNIFORM
#else
#define UNITY_UNIFORM uniform
#endif
#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
#if UNITY_SUPPORTS_UNIFORM_LOCATION
#define UNITY_LOCATION(x) layout(location = x)
#define UNITY_BINDING(x) layout(binding = x, std140)
#else
#define UNITY_LOCATION(x)
#define UNITY_BINDING(x) layout(std140)
#endif
uniform 	vec4 _ScaledScreenParams;
uniform 	vec2 _GlobalMipBias;
uniform 	vec4 _MainLightPosition;
uniform 	mediump vec4 _MainLightColor;
uniform 	mediump vec4 _AmbientOcclusionParam;
uniform 	vec4 _FPParams0;
uniform 	vec4 _FPParams1;
uniform 	vec4 _AdditionalLightsPosition[16];
uniform 	mediump vec4 _AdditionalLightsColor[16];
uniform 	mediump vec4 _AdditionalLightsAttenuation[16];
uniform 	mediump vec4 _AdditionalLightsSpotDir[16];
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 hlslcc_mtx4x4unity_MatrixV[4];
uniform 	vec4 _MainLightShadowParams;
uniform 	vec4 _AdditionalShadowFadeParams;
uniform 	vec4 _AdditionalShadowParams[16];
uniform 	vec4 hlslcc_mtx4x4_AdditionalLightsWorldToShadow[64];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(0) uniform URP_ZBinBuffer {
#endif
	UNITY_UNIFORM vec4                URP_ZBins[1024];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(1) uniform urp_TileBuffer {
#endif
	UNITY_UNIFORM vec4                urp_Tiles[1024];
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(2) uniform UnityPerDraw {
#endif
	UNITY_UNIFORM vec4                hlslcc_mtx4x4unity_ObjectToWorld[4];
	UNITY_UNIFORM vec4                hlslcc_mtx4x4unity_WorldToObject[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_LODFade;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_WorldTransformParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RenderingLayer;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightData;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightIndices[2];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_ProbesOcclusion;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube0_HDR;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube1_HDR;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMax;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMin;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_ProbePosition;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMax;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMin;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_ProbePosition;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_LightmapST;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_DynamicLightmapST;
	UNITY_UNIFORM mediump vec4                unity_SHAr;
	UNITY_UNIFORM mediump vec4                unity_SHAg;
	UNITY_UNIFORM mediump vec4                unity_SHAb;
	UNITY_UNIFORM mediump vec4                unity_SHBr;
	UNITY_UNIFORM mediump vec4                unity_SHBg;
	UNITY_UNIFORM mediump vec4                unity_SHBb;
	UNITY_UNIFORM mediump vec4                unity_SHC;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Min;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Max;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousM[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousMI[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_MotionVectorsParams;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(3) uniform UnityPerMaterial {
#endif
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_SoftParticleFadeParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_CameraFadeParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_BaseMap_ST;
	UNITY_UNIFORM mediump vec4                _BaseColor;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_EmissionColor;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_BaseColorAddSubDiff;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_SpecColor;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Cutoff;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Smoothness;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DistortionStrengthScaled;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DistortionBlend;
	UNITY_UNIFORM mediump float                _Surface;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
UNITY_LOCATION(0) uniform mediump sampler2D _ScreenSpaceOcclusionTexture;
UNITY_LOCATION(1) uniform mediump sampler2D _MainLightShadowmapTexture;
UNITY_LOCATION(2) uniform mediump sampler2DShadow hlslcc_zcmp_MainLightShadowmapTexture;
UNITY_LOCATION(3) uniform mediump sampler2D _AdditionalLightsShadowmapTexture;
UNITY_LOCATION(4) uniform mediump sampler2DShadow hlslcc_zcmp_AdditionalLightsShadowmapTexture;
UNITY_LOCATION(5) uniform mediump sampler2D _BaseMap;
in highp vec2 vs_TEXCOORD0;
in mediump vec4 vs_COLOR0;
in highp vec4 vs_TEXCOORD1;
in mediump vec3 vs_TEXCOORD2;
in highp vec4 vs_TEXCOORD7;
layout(location = 0) out mediump vec4 SV_Target0;
mediump vec4 u_xlat16_0;
vec4 u_xlat1;
bool u_xlatb1;
mediump vec3 u_xlat16_2;
mediump vec4 u_xlat16_3;
mediump vec3 u_xlat16_4;
vec2 u_xlat5;
int u_xlati5;
uvec2 u_xlatu5;
vec3 u_xlat6;
ivec2 u_xlati6;
uint u_xlatu6;
bool u_xlatb6;
vec3 u_xlat7;
ivec2 u_xlati7;
uint u_xlatu7;
vec4 u_xlat8;
bvec4 u_xlatb8;
vec4 u_xlat9;
bvec4 u_xlatb9;
mediump vec3 u_xlat16_10;
mediump vec3 u_xlat16_11;
mediump vec3 u_xlat16_15;
float u_xlat17;
int u_xlati17;
uint u_xlatu17;
vec3 u_xlat18;
ivec3 u_xlati18;
uint u_xlatu18;
vec3 u_xlat19;
mediump float u_xlat16_19;
int u_xlati19;
bool u_xlatb19;
vec3 u_xlat20;
mediump float u_xlat16_20;
int u_xlati20;
bool u_xlatb20;
float u_xlat29;
ivec2 u_xlati30;
float u_xlat31;
ivec2 u_xlati31;
bool u_xlatb31;
float u_xlat32;
bool u_xlatb32;
float u_xlat37;
mediump float u_xlat16_37;
bool u_xlatb37;
mediump float u_xlat16_38;
mediump float u_xlat16_39;
float u_xlat41;
uint u_xlatu41;
bool u_xlatb41;
uint u_xlatu42;
float u_xlat43;
float u_xlat44;
int int_bitfieldExtract(int value, int offset, int bits) {
#if defined(GL_ES) && __VERSION__ <= 300
    return (bits == 0) ? 0 : (offset + bits < 32) ? ((value << (32 - bits - offset)) >> (32 - bits)) : (value >> offset);
#else
    return bitfieldExtract(value, offset, (offset + bits < 32) ? bits : (32 - offset));
#endif
}

int op_not(int value) { return -value - 1; }
ivec2 op_not(ivec2 a) { a.x = op_not(a.x); a.y = op_not(a.y); return a; }
ivec3 op_not(ivec3 a) { a.x = op_not(a.x); a.y = op_not(a.y); a.z = op_not(a.z); return a; }
ivec4 op_not(ivec4 a) { a.x = op_not(a.x); a.y = op_not(a.y); a.z = op_not(a.z); a.w = op_not(a.w); return a; }

void main()
{
vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
    u_xlat16_0 = texture(_BaseMap, vs_TEXCOORD0.xy, _GlobalMipBias.x);
    u_xlat16_0 = u_xlat16_0 * _BaseColor;
    u_xlat16_0 = u_xlat16_0 * vs_COLOR0;
    u_xlat1.x = dot(vs_TEXCOORD2.xyz, vs_TEXCOORD2.xyz);
    u_xlat1.x = inversesqrt(u_xlat1.x);
    u_xlat1.xyz = u_xlat1.xxx * vs_TEXCOORD2.xyz;
    u_xlat1.w = 1.0;
    u_xlat16_2.x = dot(unity_SHAr, u_xlat1);
    u_xlat16_2.y = dot(unity_SHAg, u_xlat1);
    u_xlat16_2.z = dot(unity_SHAb, u_xlat1);
    u_xlat16_3 = u_xlat1.yzzx * u_xlat1.xyzz;
    u_xlat16_4.x = dot(unity_SHBr, u_xlat16_3);
    u_xlat16_4.y = dot(unity_SHBg, u_xlat16_3);
    u_xlat16_4.z = dot(unity_SHBb, u_xlat16_3);
    u_xlat16_38 = u_xlat1.y * u_xlat1.y;
    u_xlat16_38 = u_xlat1.x * u_xlat1.x + (-u_xlat16_38);
    u_xlat16_3.xyz = unity_SHC.xyz * vec3(u_xlat16_38) + u_xlat16_4.xyz;
    u_xlat16_2.xyz = u_xlat16_2.xyz + u_xlat16_3.xyz;
    u_xlat16_2.xyz = max(u_xlat16_2.xyz, vec3(0.0, 0.0, 0.0));
    u_xlat5.xy = vec2(1.0) / vec2(_ScaledScreenParams.xy);
    u_xlat5.xy = u_xlat5.xy * hlslcc_FragCoord.xy;
    u_xlat16_37 = texture(_ScreenSpaceOcclusionTexture, u_xlat5.xy, _GlobalMipBias.x).x;
    u_xlat29 = u_xlat16_37 + -1.0;
    u_xlat29 = _AmbientOcclusionParam.w * u_xlat29 + 1.0;
    u_xlat16_38 = min(u_xlat16_37, 1.0);
    vec3 txVec0 = vec3(vs_TEXCOORD7.xy,vs_TEXCOORD7.z);
    u_xlat16_37 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec0, 0.0);
    u_xlat16_3.x = (-_MainLightShadowParams.x) + 1.0;
    u_xlat16_3.x = u_xlat16_37 * _MainLightShadowParams.x + u_xlat16_3.x;
    u_xlatb37 = 0.0>=vs_TEXCOORD7.z;
    u_xlatb41 = vs_TEXCOORD7.z>=1.0;
    u_xlatb37 = u_xlatb37 || u_xlatb41;
    u_xlat16_3.x = (u_xlatb37) ? 1.0 : u_xlat16_3.x;
    u_xlat6.xyz = vs_TEXCOORD1.xyz + (-_WorldSpaceCameraPos.xyz);
    u_xlat37 = dot(u_xlat6.xyz, u_xlat6.xyz);
    u_xlat41 = u_xlat37 * _MainLightShadowParams.z + _MainLightShadowParams.w;
    u_xlat41 = clamp(u_xlat41, 0.0, 1.0);
    u_xlat16_15.x = (-u_xlat16_3.x) + 1.0;
    u_xlat16_3.x = u_xlat41 * u_xlat16_15.x + u_xlat16_3.x;
    u_xlat16_15.xyz = vec3(u_xlat29) * _MainLightColor.xyz;
    u_xlat16_2.xyz = vec3(u_xlat16_38) * u_xlat16_2.xyz;
    u_xlat7.xyz = u_xlat16_3.xxx * u_xlat16_15.xyz;
    u_xlat16_38 = dot(u_xlat1.xyz, _MainLightPosition.xyz);
    u_xlat16_38 = clamp(u_xlat16_38, 0.0, 1.0);
    u_xlat16_3.xyz = vec3(u_xlat16_38) * u_xlat7.xyz;
    u_xlat16_3.xyz = u_xlat16_0.xyz * u_xlat16_3.xyz;
    u_xlatu41 = uint(_FPParams0.w);
    u_xlatu42 = min(u_xlatu41, 16u);
    u_xlat37 = u_xlat37 * _AdditionalShadowFadeParams.x + _AdditionalShadowFadeParams.y;
    u_xlat37 = clamp(u_xlat37, 0.0, 1.0);
    u_xlat16_4.x = float(0.0);
    u_xlat16_4.y = float(0.0);
    u_xlat16_4.z = float(0.0);
    for(uint u_xlatu_loop_1 = uint(0u) ; u_xlatu_loop_1<u_xlatu42 ; u_xlatu_loop_1++)
    {
        u_xlat19.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[int(u_xlatu_loop_1)].www + _AdditionalLightsPosition[int(u_xlatu_loop_1)].xyz;
        u_xlat8.x = dot(u_xlat19.xyz, u_xlat19.xyz);
        u_xlat8.x = max(u_xlat8.x, 6.10351562e-05);
        u_xlat20.x = inversesqrt(u_xlat8.x);
        u_xlat19.xyz = u_xlat19.xyz * u_xlat20.xxx;
        u_xlat20.x = float(1.0) / float(u_xlat8.x);
        u_xlat8.x = u_xlat8.x * _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].x;
        u_xlat16_38 = (-u_xlat8.x) * u_xlat8.x + 1.0;
        u_xlat16_38 = max(u_xlat16_38, 0.0);
        u_xlat16_38 = u_xlat16_38 * u_xlat16_38;
        u_xlat8.x = u_xlat16_38 * u_xlat20.x;
        u_xlat16_38 = dot(_AdditionalLightsSpotDir[int(u_xlatu_loop_1)].xyz, u_xlat19.xyz);
        u_xlat16_38 = u_xlat16_38 * _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].z + _AdditionalLightsAttenuation[int(u_xlatu_loop_1)].w;
        u_xlat16_38 = clamp(u_xlat16_38, 0.0, 1.0);
        u_xlat16_38 = u_xlat16_38 * u_xlat16_38;
        u_xlat8.x = u_xlat16_38 * u_xlat8.x;
        u_xlati20 = int(_AdditionalShadowParams[int(u_xlatu_loop_1)].w);
        u_xlatb32 = u_xlati20>=0;
        if(u_xlatb32){
            u_xlatb32 = vec4(0.0, 0.0, 0.0, 0.0)!=vec4(_AdditionalShadowParams[int(u_xlatu_loop_1)].z);
            if(u_xlatb32){
                u_xlatb9.xyz = greaterThanEqual(abs(u_xlat19.zzyz), abs(u_xlat19.xyxx)).xyz;
                u_xlatb32 = u_xlatb9.y && u_xlatb9.x;
                u_xlatb9.xyw = lessThan((-u_xlat19.zyzx), vec4(0.0, 0.0, 0.0, 0.0)).xyw;
                u_xlat9.x = (u_xlatb9.x) ? float(5.0) : float(4.0);
                u_xlat9.y = (u_xlatb9.y) ? float(3.0) : float(2.0);
                u_xlat44 = u_xlatb9.w ? 1.0 : float(0.0);
                u_xlat44 = (u_xlatb9.z) ? u_xlat9.y : u_xlat44;
                u_xlat32 = (u_xlatb32) ? u_xlat9.x : u_xlat44;
                u_xlat44 = trunc(_AdditionalShadowParams[int(u_xlatu_loop_1)].w);
                u_xlat32 = u_xlat32 + u_xlat44;
                u_xlati20 = int(u_xlat32);
            }
            u_xlati20 = int(u_xlati20 << (2 & int(0x1F)));
            u_xlat9 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati20 + 1)];
            u_xlat9 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[u_xlati20] * vs_TEXCOORD1.xxxx + u_xlat9;
            u_xlat9 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati20 + 2)] * vs_TEXCOORD1.zzzz + u_xlat9;
            u_xlat9 = u_xlat9 + hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati20 + 3)];
            u_xlat20.xyz = u_xlat9.xyz / u_xlat9.www;
            vec3 txVec1 = vec3(u_xlat20.xy,u_xlat20.z);
            u_xlat16_20 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec1, 0.0);
            u_xlat16_38 = 1.0 + (-_AdditionalShadowParams[int(u_xlatu_loop_1)].x);
            u_xlat16_38 = u_xlat16_20 * _AdditionalShadowParams[int(u_xlatu_loop_1)].x + u_xlat16_38;
            u_xlatb20 = 0.0>=u_xlat20.z;
            u_xlatb32 = u_xlat20.z>=1.0;
            u_xlatb20 = u_xlatb32 || u_xlatb20;
            u_xlat16_38 = (u_xlatb20) ? 1.0 : u_xlat16_38;
        } else {
            u_xlat16_38 = 1.0;
        }
        u_xlat16_39 = (-u_xlat16_38) + 1.0;
        u_xlat16_38 = u_xlat37 * u_xlat16_39 + u_xlat16_38;
        u_xlat16_10.xyz = vec3(u_xlat29) * _AdditionalLightsColor[int(u_xlatu_loop_1)].xyz;
        u_xlat8.x = u_xlat16_38 * u_xlat8.x;
        u_xlat8.xyz = u_xlat8.xxx * u_xlat16_10.xyz;
        u_xlat16_38 = dot(u_xlat1.xyz, u_xlat19.xyz);
        u_xlat16_38 = clamp(u_xlat16_38, 0.0, 1.0);
        u_xlat16_10.xyz = vec3(u_xlat16_38) * u_xlat8.xyz;
        u_xlat16_4.xyz = u_xlat16_10.xyz * u_xlat16_0.xyz + u_xlat16_4.xyz;
    }
    u_xlatu42 = uint(_FPParams1.w);
    if(u_xlatu42 != uint(0)) {
        u_xlat5.xy = u_xlat5.xy * _FPParams1.xy;
        u_xlatu5.xy = uvec2(u_xlat5.xy);
        u_xlatu7 = uint(_FPParams1.z);
        u_xlati5 = int(u_xlatu5.y) * int(u_xlatu7) + int(u_xlatu5.x);
        u_xlatu5.x = u_xlatu42 * uint(u_xlati5);
        u_xlat7.x = (-hlslcc_mtx4x4unity_MatrixV[0].z);
        u_xlat7.y = (-hlslcc_mtx4x4unity_MatrixV[1].z);
        u_xlat7.z = (-hlslcc_mtx4x4unity_MatrixV[2].z);
        u_xlat17 = dot(u_xlat7.xyz, u_xlat6.xyz);
        u_xlatb6 = unity_OrthoParams.w==0.0;
        u_xlat18.x = log2(u_xlat17);
        u_xlat17 = (u_xlatb6) ? u_xlat18.x : u_xlat17;
        u_xlat17 = u_xlat17 * _FPParams0.x + _FPParams0.y;
        u_xlatu17 = uint(u_xlat17);
        u_xlatu17 = min(u_xlatu17, 4095u);
        u_xlati6.x = int(u_xlatu42) + 2;
        u_xlatu18 = u_xlatu17 * uint(u_xlati6.x);
        u_xlatu17 = u_xlatu17 * uint(u_xlati6.x) + 2u;
        u_xlatu6 = uint(u_xlatu18 >> (2u & uint(0x1F)));
        u_xlati18.xy = ivec2(int_bitfieldExtract(int(u_xlatu18), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu18), int(1) & int(0x1F), int(1) & int(0x1F)));
        u_xlati7.xy = ivec2(uvec2(uint(u_xlati18.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu6)].w)), uint(u_xlati18.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu6)].y))));
        u_xlati18.xz = op_not(u_xlati18.xy);
        u_xlati6.xy = ivec2(uvec2(uint(u_xlati18.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu6)].z)), uint(u_xlati18.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu6)].x))));
        u_xlati6.xy = ivec2(uvec2(uint(u_xlati6.x) | uint(u_xlati7.x), uint(u_xlati6.y) | uint(u_xlati7.y)));
        u_xlati6.xy = ivec2(uvec2(uint(u_xlati18.y) & uint(u_xlati6.x), uint(u_xlati18.z) & uint(u_xlati6.y)));
        u_xlatu6 = uint(uint(u_xlati6.y) | uint(u_xlati6.x));
        u_xlatu18 = uint(u_xlatu5.x >> (2u & uint(0x1F)));
        u_xlati30.xy = ivec2(int_bitfieldExtract(int(u_xlatu5.x), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu5.x), int(1) & int(0x1F), int(1) & int(0x1F)));
        u_xlati7.xy = ivec2(uvec2(uint(u_xlati30.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu18)].w)), uint(u_xlati30.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu18)].y))));
        u_xlati31.xy = op_not(u_xlati30.xy);
        u_xlati18.xy = ivec2(uvec2(uint(u_xlati31.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu18)].z)), uint(u_xlati31.x) & uint(floatBitsToUint(urp_Tiles[int(u_xlatu18)].x))));
        u_xlati18.xy = ivec2(uvec2(uint(u_xlati18.x) | uint(u_xlati7.x), uint(u_xlati18.y) | uint(u_xlati7.y)));
        u_xlati5 = int(uint(uint(u_xlati30.y) & uint(u_xlati18.x)));
        u_xlati18.x = int(uint(uint(u_xlati31.y) & uint(u_xlati18.y)));
        u_xlati5 = int(uint(uint(u_xlati5) | uint(u_xlati18.x)));
        u_xlatu18 = uint(u_xlatu17 >> (2u & uint(0x1F)));
        u_xlati30.xy = ivec2(int_bitfieldExtract(int(u_xlatu17), int(0) & int(0x1F), int(1) & int(0x1F)), int_bitfieldExtract(int(u_xlatu17), int(1) & int(0x1F), int(1) & int(0x1F)));
        u_xlati7.xy = ivec2(uvec2(uint(u_xlati30.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu18)].w)), uint(u_xlati30.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu18)].y))));
        u_xlati31.xy = op_not(u_xlati30.xy);
        u_xlati18.xy = ivec2(uvec2(uint(u_xlati31.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu18)].z)), uint(u_xlati31.x) & uint(floatBitsToUint(URP_ZBins[int(u_xlatu18)].x))));
        u_xlati18.xy = ivec2(uvec2(uint(u_xlati18.x) | uint(u_xlati7.x), uint(u_xlati18.y) | uint(u_xlati7.y)));
        u_xlati17 = int(uint(uint(u_xlati30.y) & uint(u_xlati18.x)));
        u_xlati18.x = int(uint(uint(u_xlati31.y) & uint(u_xlati18.y)));
        u_xlati17 = int(uint(uint(u_xlati17) | uint(u_xlati18.x)));
        u_xlati5 = int(uint(uint(u_xlati17) & uint(u_xlati5)));
        u_xlati17 = int(int(0xFFFFFFFFu) << (int(u_xlatu6) & int(0x1F)));
        u_xlati5 = int(uint(uint(u_xlati17) & uint(u_xlati5)));
        u_xlatu17 = uint(u_xlatu6 >> (16u & uint(0x1F)));
        u_xlatu17 = (-u_xlatu17) + 31u;
        u_xlatu17 = uint(4294967295u >> (u_xlatu17 & uint(0x1F)));
        u_xlati5 = int(uint(u_xlatu17 & uint(u_xlati5)));
    } else {
        u_xlati5 = 0;
    }
    u_xlat16_10.xyz = u_xlat16_4.xyz;
    u_xlati17 = u_xlati5;
    while(true){
        if(u_xlati17 == 0) {break;}
        u_xlati6.x = 0 - u_xlati17;
        u_xlatu6 = uint(uint(u_xlati17) & uint(u_xlati6.x));
        u_xlat6.x = float(u_xlatu6);
        u_xlatu6 = uint(uint(floatBitsToUint(u_xlat6.x)) >> (23u & uint(0x1F)));
        u_xlati6.x = int(u_xlatu6) + int(0xFFFFFF81u);
        u_xlati18.x = int(1 << (u_xlati6.x & int(0x1F)));
        u_xlati17 = int(uint(uint(u_xlati17) ^ uint(u_xlati18.x)));
        u_xlati6.x = int(u_xlatu41) + u_xlati6.x;
        u_xlat18.xyz = (-vs_TEXCOORD1.xyz) * _AdditionalLightsPosition[u_xlati6.x].www + _AdditionalLightsPosition[u_xlati6.x].xyz;
        u_xlat7.x = dot(u_xlat18.xyz, u_xlat18.xyz);
        u_xlat7.x = max(u_xlat7.x, 6.10351562e-05);
        u_xlat19.x = inversesqrt(u_xlat7.x);
        u_xlat18.xyz = u_xlat18.xyz * u_xlat19.xxx;
        u_xlat19.x = float(1.0) / float(u_xlat7.x);
        u_xlat7.x = u_xlat7.x * _AdditionalLightsAttenuation[u_xlati6.x].x;
        u_xlat16_38 = (-u_xlat7.x) * u_xlat7.x + 1.0;
        u_xlat16_38 = max(u_xlat16_38, 0.0);
        u_xlat16_38 = u_xlat16_38 * u_xlat16_38;
        u_xlat7.x = u_xlat16_38 * u_xlat19.x;
        u_xlat16_38 = dot(_AdditionalLightsSpotDir[u_xlati6.x].xyz, u_xlat18.xyz);
        u_xlat16_38 = u_xlat16_38 * _AdditionalLightsAttenuation[u_xlati6.x].z + _AdditionalLightsAttenuation[u_xlati6.x].w;
        u_xlat16_38 = clamp(u_xlat16_38, 0.0, 1.0);
        u_xlat16_38 = u_xlat16_38 * u_xlat16_38;
        u_xlat7.x = u_xlat16_38 * u_xlat7.x;
        u_xlati19 = int(_AdditionalShadowParams[u_xlati6.x].w);
        u_xlatb31 = u_xlati19>=0;
        if(u_xlatb31){
            u_xlatb31 = vec4(0.0, 0.0, 0.0, 0.0)!=vec4(_AdditionalShadowParams[u_xlati6.x].z);
            if(u_xlatb31){
                u_xlatb8.xyz = greaterThanEqual(abs(u_xlat18.zzyz), abs(u_xlat18.xyxx)).xyz;
                u_xlatb31 = u_xlatb8.y && u_xlatb8.x;
                u_xlatb8.xyw = lessThan((-u_xlat18.zyzx), vec4(0.0, 0.0, 0.0, 0.0)).xyw;
                u_xlat8.x = (u_xlatb8.x) ? float(5.0) : float(4.0);
                u_xlat8.y = (u_xlatb8.y) ? float(3.0) : float(2.0);
                u_xlat43 = u_xlatb8.w ? 1.0 : float(0.0);
                u_xlat43 = (u_xlatb8.z) ? u_xlat8.y : u_xlat43;
                u_xlat31 = (u_xlatb31) ? u_xlat8.x : u_xlat43;
                u_xlat43 = trunc(_AdditionalShadowParams[u_xlati6.x].w);
                u_xlat31 = u_xlat31 + u_xlat43;
                u_xlati19 = int(u_xlat31);
            }
            u_xlati19 = int(u_xlati19 << (2 & int(0x1F)));
            u_xlat8 = vs_TEXCOORD1.yyyy * hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati19 + 1)];
            u_xlat8 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[u_xlati19] * vs_TEXCOORD1.xxxx + u_xlat8;
            u_xlat8 = hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati19 + 2)] * vs_TEXCOORD1.zzzz + u_xlat8;
            u_xlat8 = u_xlat8 + hlslcc_mtx4x4_AdditionalLightsWorldToShadow[(u_xlati19 + 3)];
            u_xlat19.xyz = u_xlat8.xyz / u_xlat8.www;
            vec3 txVec2 = vec3(u_xlat19.xy,u_xlat19.z);
            u_xlat16_19 = textureLod(hlslcc_zcmp_AdditionalLightsShadowmapTexture, txVec2, 0.0);
            u_xlat16_38 = 1.0 + (-_AdditionalShadowParams[u_xlati6.x].x);
            u_xlat16_38 = u_xlat16_19 * _AdditionalShadowParams[u_xlati6.x].x + u_xlat16_38;
            u_xlatb19 = 0.0>=u_xlat19.z;
            u_xlatb31 = u_xlat19.z>=1.0;
            u_xlatb19 = u_xlatb31 || u_xlatb19;
            u_xlat16_38 = (u_xlatb19) ? 1.0 : u_xlat16_38;
        } else {
            u_xlat16_38 = 1.0;
        }
        u_xlat16_39 = (-u_xlat16_38) + 1.0;
        u_xlat16_38 = u_xlat37 * u_xlat16_39 + u_xlat16_38;
        u_xlat16_11.xyz = vec3(u_xlat29) * _AdditionalLightsColor[u_xlati6.x].xyz;
        u_xlat6.x = u_xlat16_38 * u_xlat7.x;
        u_xlat7.xyz = u_xlat6.xxx * u_xlat16_11.xyz;
        u_xlat16_38 = dot(u_xlat1.xyz, u_xlat18.xyz);
        u_xlat16_38 = clamp(u_xlat16_38, 0.0, 1.0);
        u_xlat16_11.xyz = vec3(u_xlat16_38) * u_xlat7.xyz;
        u_xlat16_10.xyz = u_xlat16_11.xyz * u_xlat16_0.xyz + u_xlat16_10.xyz;
    }
    u_xlat16_2.xyz = u_xlat16_2.xyz * u_xlat16_0.xyz + u_xlat16_3.xyz;
    SV_Target0.xyz = u_xlat16_10.xyz + u_xlat16_2.xyz;
    u_xlatb1 = _Surface==1.0;
    SV_Target0.w = (u_xlatb1) ? u_xlat16_0.w : 1.0;
    return;
}


// Keywords: _ADDITIONAL_LIGHT_SHADOWS _FORWARD_PLUS _MAIN_LIGHT_SHADOWS _SCREEN_SPACE_OCCLUSION
// 